package edu.pku.sei.transformation.mtparser;

public class KWMTLexerprs implements lpg.runtime.ParseTable, KWMTLexersym {
    public final static int ERROR_SYMBOL = 0;
    public final int getErrorSymbol() { return ERROR_SYMBOL; }

    public final static int SCOPE_UBOUND = 0;
    public final int getScopeUbound() { return SCOPE_UBOUND; }

    public final static int SCOPE_SIZE = 0;
    public final int getScopeSize() { return SCOPE_SIZE; }

    public final static int MAX_NAME_LENGTH = 0;
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int NUM_STATES = 108;
    public final int getNumStates() { return NUM_STATES; }

    public final static int NT_OFFSET = 56;
    public final int getNtOffset() { return NT_OFFSET; }

    public final static int LA_STATE_OFFSET = 172;
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }

    public final static int MAX_LA = 0;
    public final int getMaxLa() { return MAX_LA; }

    public final static int NUM_RULES = 30;
    public final int getNumRules() { return NUM_RULES; }

    public final static int NUM_NONTERMINALS = 2;
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }

    public final static int NUM_SYMBOLS = 58;
    public final int getNumSymbols() { return NUM_SYMBOLS; }

    public final static int SEGMENT_SIZE = 8192;
    public final int getSegmentSize() { return SEGMENT_SIZE; }

    public final static int START_STATE = 31;
    public final int getStartState() { return START_STATE; }

    public final static int IDENTIFIER_SYMBOL = 0;
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }

    public final static int EOFT_SYMBOL = 23;
    public final int getEoftSymbol() { return EOFT_SYMBOL; }

    public final static int EOLT_SYMBOL = 57;
    public final int getEoltSymbol() { return EOLT_SYMBOL; }

    public final static int ACCEPT_ACTION = 141;
    public final int getAcceptAction() { return ACCEPT_ACTION; }

    public final static int ERROR_ACTION = 142;
    public final int getErrorAction() { return ERROR_ACTION; }

    public final static boolean BACKTRACK = false;
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int getStartSymbol() { return lhs(0); }
    public final boolean isValidForParser() { return KWMTLexersym.isValidForParser; }


    public interface IsNullable {
        public final static byte isNullable[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0
        };
    };
    public final static byte isNullable[] = IsNullable.isNullable;
    public final boolean isNullable(int index) { return isNullable[index] != 0; }

    public interface ProsthesesIndex {
        public final static byte prosthesesIndex[] = {0,
            2,1
        };
    };
    public final static byte prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static byte baseCheck[] = {0,
            2,4,4,5,7,6,8,3,6,3,
            2,3,14,4,4,7,5,7,5,4,
            7,3,5,4,5,3,5,8,13,5
        };
    };
    public final static byte baseCheck[] = BaseCheck.baseCheck;
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static byte rhs[] = baseCheck;
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction {
        public final static char baseAction[] = {
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,33,50,24,56,62,63,67,59,
            4,68,74,15,25,19,32,33,71,69,
            77,78,82,85,80,35,87,89,91,92,
            96,94,98,43,29,102,49,103,105,107,
            108,106,110,115,116,121,123,118,127,53,
            129,131,125,133,136,137,142,57,140,145,
            146,148,149,151,152,155,156,159,158,153,
            166,167,169,168,171,173,178,182,185,187,
            179,189,192,193,194,195,196,197,198,205,
            204,206,214,211,208,218,216,222,220,224,
            226,228,230,233,229,234,238,236,239,240,
            142,142
        };
    };
    public final static char baseAction[] = BaseAction.baseAction;
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static byte termCheck[] = {0,
            0,1,2,0,4,5,6,7,8,9,
            7,11,12,13,0,1,16,17,0,19,
            6,3,4,0,0,11,2,4,0,0,
            6,0,0,15,0,11,4,3,7,21,
            12,13,0,15,12,14,12,5,0,0,
            2,9,0,1,2,0,0,2,0,11,
            4,0,0,2,2,9,0,0,0,11,
            0,4,23,0,1,5,0,0,10,0,
            14,0,1,7,0,8,0,3,0,3,
            0,0,13,0,3,0,8,0,3,2,
            7,0,0,1,0,0,0,0,1,0,
            20,10,6,8,0,0,1,0,9,15,
            0,1,0,9,0,3,0,10,0,3,
            0,3,0,3,10,0,0,1,6,0,
            5,0,1,4,0,0,2,0,0,4,
            0,0,0,5,0,0,1,0,0,2,
            13,3,8,11,14,0,0,0,0,18,
            0,1,0,0,8,7,11,0,0,12,
            3,0,10,2,0,1,0,9,0,3,
            2,0,0,0,0,0,0,0,6,3,
            5,10,9,0,0,0,12,0,5,4,
            0,14,8,0,1,0,6,0,1,0,
            13,0,1,0,1,0,7,0,0,0,
            15,2,0,0,2,0,8,0,0,0,
            7,16,5,4,6,10,0,0,0,22,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0
        };
    };
    public final static byte termCheck[] = TermCheck.termCheck;
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            142,45,41,142,43,47,40,39,46,38,
            153,34,44,42,142,58,37,35,142,36,
            57,65,64,142,142,56,59,48,142,142,
            61,142,142,62,142,60,68,75,66,63,
            83,84,142,168,143,67,164,82,142,142,
            87,81,142,98,97,142,142,49,142,86,
            105,142,142,50,51,104,142,142,142,53,
            142,54,141,142,55,69,142,142,70,142,
            52,142,73,71,142,72,142,74,142,76,
            142,142,152,142,77,142,154,142,78,80,
            79,142,142,88,142,142,142,142,91,142,
            150,85,90,92,142,142,156,142,93,89,
            142,95,142,94,142,157,142,96,142,162,
            142,99,142,100,101,142,142,145,102,142,
            103,142,166,144,142,142,106,142,142,172,
            142,142,142,107,142,142,167,142,142,110,
            165,109,108,111,161,142,142,142,142,159,
            142,169,142,142,113,114,112,142,142,146,
            116,142,115,117,142,151,142,118,142,148,
            119,142,142,142,142,142,142,142,121,163,
            124,120,122,142,142,142,123,142,126,127,
            142,147,125,142,160,142,128,142,170,142,
            158,142,149,142,131,142,130,142,142,142,
            129,134,142,142,135,142,136,142,142,142,
            137,132,138,155,139,171,142,142,142,133
        };
    };
    public final static char termAction[] = TermAction.termAction;
    public final int termAction(int index) { return termAction[index]; }
    public final int asb(int index) { return 0; }
    public final int asr(int index) { return 0; }
    public final int nasb(int index) { return 0; }
    public final int nasr(int index) { return 0; }
    public final int terminalIndex(int index) { return 0; }
    public final int nonterminalIndex(int index) { return 0; }
    public final int scopePrefix(int index) { return 0;}
    public final int scopeSuffix(int index) { return 0;}
    public final int scopeLhs(int index) { return 0;}
    public final int scopeLa(int index) { return 0;}
    public final int scopeStateSet(int index) { return 0;}
    public final int scopeRhs(int index) { return 0;}
    public final int scopeState(int index) { return 0;}
    public final int inSymb(int index) { return 0;}
    public final String name(int index) { return null; }
    public final int originalState(int state) { return 0; }
    public final int asi(int state) { return 0; }
    public final int nasi(int state) { return 0; }
    public final int inSymbol(int state) { return 0; }

    /**
     * assert(! goto_default);
     */
    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    /**
     * assert(! shift_default);
     */
    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
